With the development of network technology, users can have access to a variety of network services, such as information search, online shopping, e-mail and so on. When a user accesses a network service, the server usually requires the user to verify certain information.
For example, the user is typically required to enter a username and a password to conduct online shopping, to communicate with other users via instant messaging software, or to send and receive messages via e-mail. The server checks the user-entered username and password, and provides the appropriate network services only if the user information passes the check.
For another example, in order to defend against malicious denial of service attacks using massive robotic external communications requests that saturate a target server, Internet servers now usually differentiate a human user from a machine using methods such as CAPTCHA techniques. For example, the server sends a scrambled image that contains a verification code, and prompts the user to enter the verification code contained in the scrambled image, and allows the user to continue to use the service only if the returned verification code is correct. The method is broadly used in various Internet services such as information search.
The verification codes or passwords are usually entered by the user through a keyboard of the user terminal device.
Currently, a variety of mobile devices have been widely used. Users can obtain network services through mobile devices such as smart phones, tablets and other smart mobile devices, in addition to traditional personal computers. Due to the general miniaturization of mobile devices, and the fact that current verification codes, such as passwords, authentication codes or challenge codes, are usually a mixture of numbers and letters (sometimes even case-sensitive), it is inconvenient for a user to enter such verification information on a mobile devices. The lack of a sufficient keyboard often leads to erroneous input, and as a consequence false information is frequently submitted to the server for verification. As the server denies service due to an error, the user will have to re-enter the verification code, and the server then needs to re-process the verification code resubmitted by the user, resulting in excessive load stress on the server.